/*
	Form
*/

$(document).ready(function () {
	// input Label 제어
	$.fn.labeling = function () {$(this).focus(function () {$(this).prev("label").hide();}).focusout(function () {if ($(this).val().length == 0) {$(this).prev("label").show();}});};
	$("#userID, #userPW, #userNM").labeling();
	$("#userID, #userPW, #userNM").val(""); // Firefox 초기화 캐시 제거

	$(".select").selectbox({animationSpeed: "fast"}); //Selectbox

	$("textarea").bind('focusin focusout', function() { //Textarea
		$(this).parent().toggleClass('on');
	});

	$("input.text").bind('focusin focusout', function() { //Input
		$(this).toggleClass('on');
	});

	$(".tab li").click(function(){  // Tab
		$(".cont").css("display","none");
		$(".cont").eq($(this).index()).css("display","block"); 
		$(".tab li").removeClass("on");
		$(this).addClass("on");
		$(".select").selectbox(); //selectbox
	});
	
	
	$("body").ajaxStart(function(){
		// 스크롤 포함한 총 높이, 총 넓이
		var winHT = $(document).height();
		var winWT = $(document).width();
		
		// 스크롤 제외한 높이, 넓이
		var winH = $(window).height();
		var winW = $(window).width();
		
		// 현재 스크롤 위치 값
		var scrollH = $(document).scrollTop();
		var scrollW = $(document).scrollLeft();
		
		if(scrollH > 0){
			winH = scrollH + (winH/2);
		}else{
			winH = winH/2;
		}
		
		if(scrollW > 0){
			winW += scrollW;
		}
		$("body").append('<div class="loadImgClss" style="position:absolute; z-index:50;"><img src="/images/loadImg.gif" /></div>');
		$(".loadImgClss").css('top',  winH);
		$(".loadImgClss").css('left', winW/2);
	});
	
	// Ajax가 완료 될 경우 loading image가 제거 및 각 에러 표현.
	$("body").ajaxComplete(function(e, xhr, settings){
		$(".loadImgClss").each(function(){
			$(this).remove();
		});
	});
	
	$('body').ajaxError(function(){
		$(".loadImgClss").each(function(){
			$(this).remove();
		});
	});
});

(function($){
	$.fn.inputExp = function(p) {	
		p = $.extend({
			text		: '',

			enterFn		: null
		}, p);
		
		return this.each(function(){
			var orgColor = $(this).css("color");
			var orgFontSize = $(this).css("font-size");
			var isPw = false;
			
			$(this).val(p.text);
			$(this).css("color", p.color);
			$(this).css("font-size", p.fontSize);
			
			if(p.type == "pw"){
				isPw = true;
				var passwordId = $(this).attr("id");
				var _fakePw = passwordId + "_fake";
				$(this).val("");
				$(this).wrap("<span>");
				$(this).hide();
				
				var _html = $(this).parent().html();
				
				if(this.type == "password"){
					_html = _html.replace("type=password","type=text");
					_html = _html.replace('type="password"','type=text');
					_html = _html.replace('type = "password"','type=text');
					_html = _html.replace('type = password','type=text');
					
					$(this).parent().append(_html);
					$(this).parent().children("input[type=text]").attr("id", _fakePw);
					$(this).parent().children("input[type=text]").attr("name", _fakePw);
					$("#"+_fakePw).val(p.text);
					$("#"+_fakePw).show();
				}
				
				$(this).blur(function(){
					var text = $("#"+passwordId).val();
					if(text == "" || text == p.text){
						$("#"+passwordId).hide();
						$("#"+_fakePw).show();
					}
				});
				
				$("#"+_fakePw).click(function(){
					var text = $.trim($("#"+passwordId).val());
					if(text == p.text){
						$("#"+passwordId).hide();
						$(this).show();
					}else{
						$(this).hide();
						$("#"+passwordId).show().focus();
					}
				});
				
				$("#"+_fakePw).focus(function(){$(this).click();});
			}else{
				$(this).blur(function(){
					var text = $(this).val();
					if(text == "" || text == p.text){
						$(this).val(p.text);
						$(this).css("color", p.color);
						$(this).css("font-size", p.fontSize);
					}
				});
				$(this).click(function(){
					var text = $(this).val();
					if(text == p.text){
						$(this).val("");
						$(this).css("color", orgColor);
						$(this).css("font-size", orgFontSize);
					}else{
						$(this).css("color", orgColor);
						$(this).css("font-size", orgFontSize);
					}
				});
			}
			
			$(this).keydown(function(e){
				if(p.enterFn != null && e.keyCode == 13){
					eval(p.enterFn);
				}
			});
		});
		
		return this;
	};
})(jQuery);